<!doctype html>
<html>
<head>
<title>Test navigator.mediaDevices.getSupportedConstraints()</title>
<link rel="help" href="https://w3c.github.io/mediacapture-main/#enumerating-devices">
<meta name='assert' content='Test the getSupportedConstraints() method.'/>
</head>
<body>
<h1 class="instructions">Description</h1>
<p class="instructions">This test checks for the presence of the
<code>navigator.mediaDevices.getSupportedConstraints()</code> method.</p>
<div id='log'></div>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script>
"use strict";
test(() => {
  assert_inherits(navigator.mediaDevices, "getSupportedConstraints");
  assert_equals(typeof navigator.mediaDevices.getSupportedConstraints, "function");
}, "navigator.mediaDevices.getSupportedConstraints exists");

{
  const properties = [
    "width",
    "height",
    "aspectRatio",
    "frameRate",
    "facingMode",
    "resizeMode",
    "sampleRate",
    "sampleSize",
    "echoCancellation",
    "autoGainControl",
    "noiseSuppression",
    "voiceIsolation",
    "latency",
    "channelCount",
    "deviceId",
    "groupId"];
  properties.forEach(property => {
    test(()=>{
      const supportedConstraints = navigator.mediaDevices.getSupportedConstraints();
      assert_true(supportedConstraints[property]);
    }, property + " is supported");
  });
}
</script>
</body>
</html>
